개요
이 기사에서는 Unreal Engine 5 (UE5) 프로젝트에서 버전 관리가 왜 중요한지, 버전 관리 사용의 장점, 그리고 UE Git Plugin이 표준 Git보다 더 나은 선택인 이유에 대해 설명합니다. 또한 UE5 프로젝트에서 UEGitPlugin(Git LFS 2)을 사용하여 버전 관리를 설정하는 단계별 가이드를 제공하며, 공식 설치 가이드보다 더 자세한 지침을 제공합니다.
환경
- Unreal Engine 5.4
- Git 2.44.0
- UEGitPlugin 3.16
- Windows 11 Pro
왜 Unreal Engine 5에서 버전 관리를 사용해야 할까요?
버전 관리는 게임 개발에 필수적이며, UE5와 작업할 때 견고한 버전 관리 시스템이 있으면 많은 골칫거리를 피할 수 있습니다. 개인 개발자이든 팀의 일원이든, 버전 관리는 작업을 백업하고, 조직적으로 관리하며 쉽게 복구할 수 있도록 합니다.
UE5에서 버전 관리 사용의 장점은 다음과 같습니다.
- 프로젝트 백업 및 복구
게임 프로젝트는 복잡하며, 실수로 삭제되거나 충돌 또는 파일 손상으로 진행 상황을 잃는 것은 큰 타격이 될 수 있습니다. 버전 관리는 프로젝트의 이전 버전으로 되돌릴 수 있게 하여 중요한 작업을 잃지 않도록 보장합니다.
- 협업 및 팀 워크플로우
팀에서 버전 관리는 협업을 원활하게 만듭니다. 여러 개발자가 동시에 다른 기능을 작업할 수 있으며, 서로의 작업을 덮어쓰지 않습니다. 브랜치와 병합을 통해 변경 사항을 부드럽게 통합하고 프로젝트의 안정성을 유지할 수 있습니다.
- 위험 없는 실험
새로운 게임플레이 메커니즘을 시도하고 싶지만 프로젝트가 망가질까 봐 걱정되시나요? 버전 관리에서는 별도의 브랜치를 생성하여 아이디어를 테스트하고, 의도대로 작동할 경우에만 병합할 수 있습니다. 이 유연성은 실험과 혁신을 장려합니다.
- 변경 사항 추적 및 디버깅
버전 관리에서는 프로젝트에 대한 모든 변경 사항의 히스토리를 보관합니다. 버그가 발생하면 이전 커밋을 확인하여 언제, 어디서 발생했는지 쉽게 추적할 수 있습니다. 이는 버전 관리 없이 작업하는 것보다 디버깅을 훨씬 쉽게 만듭니다.
왜 표준 Git 대신 UE Git Plugin을 사용해야 하나요?
이진 파일 처리 개선
Unreal Engine 프로젝트는 텍스트 기반 소스 코드처럼 쉽게 차이를 비교할 수 없는 많은 이진 파일(.uasset, .umap)을 포함합니다. 표준 Git은 큰 이진 파일을 다루는 데 어려움이 있지만, UE Git Plugin은 파일 잠금(Check Out) 기능과 같은 기능을 통해 이러한 파일을 지원합니다. 이는 Perforce, Plastic SCM, SVN과 유사합니다.
이 비디오 (27:55 - 32:47)는 왜 표준 Git이 UE 프로젝트에 이상적인지 설명합니다:
버전 관리 도구 선택에 대한 제 제안
팀 규모 | 추천 버전 관리 도구 |
---|---|
개인 개발자 | UE Git Plugin을 사용한 Git 또는 LFS와 함께 사용하는 표준 Git |
팀 (2-5명) | UE Git Plugin / Plastic SCM / Subversion |
팀 (6명 이상) | Perforce 사용 고려 (하지만 비용이 비쌈) |
UE Git Plugin 설치 및 설정 방법
UE5에서 UE Git 플러그인을 설치하고 활성화하려면 아래 단계를 따르세요.
이 플러그인은 Visual Studio(또는 Rider)에서 컴파일해야 하므로 프로젝트에 적어도 하나의 C++ 파일이 있어야 합니다.
Step 1: Git 설치
시스템에 Git이 설치되어 있는지 확인하세요. 설치되지 않은 경우 git-scm.com에서 다운로드하여 설치합니다.
설치 중에 Git LFS와 Git Credential Manager가 체크되어 있는지 확인하세요.
Step 2: Git 인증
git bash를 실행하세요.
GitHub 계정을 설정합니다:
1git config --global user.name "yourUserName" 2git config --global user.email yourEmail
3단계: Git 저장소 설정
Git 저장소를 설정하려면 GitHub Desktop, Fork, 또는 Sourcetree와 같은 Git GUI 클라이언트를 사용할 수 있습니다. 또는 명령줄을 사용할 수도 있습니다.
이 예제에서는 Fork를 사용합니다. Fork를 열고 **파일 -> 새 저장소 초기화...**로 이동합니다.
그런 다음 프로젝트 루트를 선택합니다.
다음으로 GitHub로 이동하여 오른쪽 상단의 + 버튼을 클릭하고 새 저장소를 선택합니다.
저장소 이름을 입력하고 Public 또는 Private을 선택한 후 저장소 생성을 클릭합니다.
HTTPS가 선택되었는지 확인한 후, 저장소 URL을 복사하려면 복사 버튼을 클릭합니다.
Fork로 돌아가서 **Remotes -> 새 원격 추가...**를 오른쪽 클릭합니다.
복사한 URL을 저장소 URL에 붙여넣고 새 원격 추가를 클릭합니다.
4단계: UEGitPlugin 다운로드
Unreal Engine Git Plugin으로 이동하여 ZIP 파일을 다운로드합니다.
프로젝트에 설치
플러그인을 project/Plugins/Developer
폴더에 압축을 풀고, Plugins
또는 Developer
폴더가 없으면 생성합니다.
압축을 푼 후, UEGitPlugin-3.16
폴더가 두 개 표시되면 하나만 남깁니다.
그럼 UEGitPlugin-3.16
폴더를 Developer
폴더로 복사하고 중복된 UEGitPlugin-3.16
폴더는 삭제합니다.
폴더 구조는 다음과 같아야 합니다:
또는 엔진에 설치
Engine/Plugins/Developer
폴더에 압축을 풉니다.
그런 다음 Engine/Plugins/Developer/GitSourceControl.uplugin
파일 이름을 Engine/Plugins/Developer/GitSourceControl.uplugin.disabled
로 변경합니다.
5단계: .gitattributes 및 .gitignore 설정
프로젝트 루트 폴더에서:
.gitattributes
파일을 생성하고 .gitattributes에서 내용을 복사합니다..gitignore
파일을 생성하고 .gitignore에서 내용을 복사합니다.
6단계: 플러그인 컴파일
프로젝트 .sln
파일을 Visual Studio 또는 Rider에서 열고 프로젝트를 빌드합니다.
7단계: UE 리비전 제어 설정
- UE5를 열고 플러그인 메뉴 (편집 -> 플러그인)로 이동하여 Git LFS 2를 활성화합니다.
- 오른쪽 하단에서 리비전 제어를 클릭합니다.
- **리비전 제어에 연결...**을 클릭합니다.
- 제공자를 Git LFS 2로 선택합니다.
- Git 경로가
git.exe
로 설정되었는지 확인하고 Git LFS 사용을 체크한 후 GitHub 사용자 이름을 입력합니다 (사용자 이름은 "UserName" 아래에 표시된 것과 일치해야 합니다). - 설정 수락을 클릭합니다.
8단계: 플러그인 구성
Config/DefaultEditorPerProjectUserSettings.ini
파일을 편집하고 아래의 내용을 붙여넣습니다.
1[/Script/UnrealEd.EditorLoadingSavingSettings] 2bSCCAutoAddNewFiles=False 3bAutomaticallyCheckoutOnAssetModification=False 4bPromptForCheckoutOnAssetModification=True 5 6[/Script/UnrealEd.EditorPerProjectUserSettings] 7bAutoloadCheckedOutPackages=True
Done!
사용법
UE5에서 Pull, Push, Commit
파일 역사 확인
파일 체크 아웃 (잠금)
파일을 편집하고 저장하면 체크 아웃(빨간 체크)이 됩니다.
파일을 수동으로 체크 아웃할 수도 있습니다: 우클릭 → Revision Control → 체크 아웃
다른 사용자는 커밋하고 푸시하거나 변경 사항을 되돌릴 때까지 잠긴 파일을 수정할 수 없습니다.
플러그인 GitHub 페이지
자세한 내용은 공식 플러그인 페이지를 방문하세요. Unreal Engine Git Plugin
특별한 감사의 말씀
플러그인을 소개해 준 @aizen76 (alwei)와 @toshiyuki_wada (ぽちお)에게 감사드립니다.
또한 플러그인 작성자 mastercoms에게 설치 문제 해결을 도와준 것에 감사드립니다.
질문이 있으면 언제든지 댓글을 남겨 주세요.
참고 자료
- Unreal Engine Git Plugin
- 영상: Ari Arnbjörnsson (Housemarque): UE4 AAA 개발 1년의 교훈
- 영상: Unreal Engine에서 GitHub 사용법 | Unreal Engine 원격 팀 프로젝트 협업
- 영상: Unreal Engine 5에서 버전 관리 - Git, Github 및 Gitlab
- 영상: Unreal Engine에서 소스 제어 다이브 | 웨비나
- 영상: 【UE5 x Git 입문】로컬만으로도 사용할 수 있어요! 오늘부터 시작하는 버전 관리【Azure】
- UE 奈良 LT UE5 프로젝트를 Git으로 관리하기
- 【UE5】팀 개발에서 Git 운영 예시
- 【Git/UE5】Git을 이용한 Unreal Engine 버전 관리 시작하기
- Unreal Engine의 Revision Control(소스 제어)에서 Git 사용하기(1)